package cn.tedu.suppermemory.mapper;

import cn.tedu.suppermemory.pojo.entity.Permission;
import cn.tedu.suppermemory.pojo.entity.Role;
import cn.tedu.suppermemory.pojo.vo.PermissionStandardVO;
import cn.tedu.suppermemory.pojo.vo.RoleListItemVO;
import cn.tedu.suppermemory.pojo.vo.RoleStandardVO;
import org.springframework.stereotype.Repository;

import java.util.List;


    /**
     * 处理角色数据的Mapper接口
     *
     * @author java@tedu.cn
     * @version 0.0.1
     */
    @Repository
    public interface RoleMapper {

        /**
         * 插入角色数据
         *
         * @param role 角色数据
         * @return 受影响的行数
         */
        int insert(Role role);

        int deleteById(Long id);

        /**
         * 根据若干个id批量删除角色数据
         *
         * @param ids   若干个角色id的数组
         * @return      受影响的行数
         */
        int deleteByIds(Long[] ids);

        /**
         * 根据id修改角色数据
         *
         * @param teacher   封装了角色id和新数据的对象
         * @return          受影响的行数
         */

        /**
         * 根据角色名称查询角色数量
         *
         * @return 匹配角色名称的角色数据的数量
         */
        int countByName(String name);

        /**
         * 根据角色id查询角色数据详情
         *
         * @param id 角色的id
         * @return 根据id查询到的角色数据详情，如果没有 匹配的数据返回null
         */
        RoleStandardVO getStandardById(Long id);

        /**
         * 查询角色列表
         *
         * @return 角色列表
         */
        List<RoleListItemVO> list();

    }
